package com.feriki.msync.config;

import com.feriki.msync.constants.PolicyType;
import lombok.Data;

/**
 * @author luozhida
 * @create 2024-07-01
 */
@Data
public class Config {

    private ConnectConfig source;
    private ConnectConfig sink;

    //源对象名称,对于milvus是collection名称,对于jsonl是文件路径
    private String sourceObjectName;
    //目标对象名称,对于milvus是collection名称,对于jsonl是文件路径
    private String sinkObjectName;
    //cover:覆盖,append:追加
    private String policy = PolicyType.APPEND;
    //批处理数量
    private long batchSize = 2000L;
    //限制最大处理量，-1为不限制
    private long limit = -1;

    //非自动生成的主键(Non Auto ID)是否启用生成值机制
    private boolean milvusSinkEnableNonAutoIdGenerateValue = false;
    //milvus落地生成测试分区,默认否,仅用于测试
    private boolean milvusSinkEnableTestPartition = false;

    //milvus源对象的条件查询表达式(请使用milvus支持的表达式)
    private String milvusSourceSearchExpr;

    //clickhouse落地数值型字段值为空时填充值,请填写数字
    private int clickhouseNumberTypeIsNullFill = 0;


}
